Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

152
Vistas
JavaScript "Image.onload" se activa incluso si no se encuentra la imagen

Estoy tratando de cargar una imagen para un juego de lienzo HTML. Y quiero que se carguen antes de iniciar el juego. Así que creé una función para cargarlos sincrónicamente antes de que comience mi juego. Pero el problema es,
si la imagen no existe, todavía dispara "Image.onload()" .
Quiero devolver un objeto con "error=true" si la imagen no existe. Pero no podía encontrar una manera.

Aquí está la función que escribí:

 function loadImages(images) { return { list: images, loaded: {}, failed: {}, _load(src, name){ return new Promise((resolve)=>{ let image = new Image() image.onload = resolve({ name, src, image, error: false }) image.onerror = resolve({ name, src, image: null, error: true }) image.src = src }) } } } let myLoader = loadImages("some image list") let image = await myLoader._load("https://someUrl.com/img.png", "imageName") console.log(image)

si observa la consola, verá que "onload" se activa, no "onerror".

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

onload y onerror deben establecerse en una función, en su lugar, está llamando a una función y asignándoles el retorno.

 image.onload = e => resolve({ name, src, image, error: false }) image.onerror = e => resolve({ name, src, image: null, error: true })
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda